  var LineByLinePrinter = require('./line-by-line-printer.js').LineByLinePrinter;
  var SideBySidePrinter = require('./side-by-side-printer.js').SideBySidePrinter;
  var FileListPrinter = require('./file-list-printer.js').FileListPrinter;

  export var HtmlPrinter=(() => {

    return {
      generateLineByLineJsonHtml : function (diffFiles, config) {
        var lineByLinePrinter = new LineByLinePrinter(config);
        return lineByLinePrinter.generateLineByLineJsonHtml(diffFiles);
      },

      generateSideBySideJsonHtml : function (diffFiles, config) {
        var sideBySidePrinter = new SideBySidePrinter(config);
        return sideBySidePrinter.generateSideBySideJsonHtml(diffFiles);
      },

      generateFileListSummary : function (diffJson, config) {
        var fileListPrinter = new FileListPrinter(config);
        return fileListPrinter.generateFileList(diffJson);
      }
    }
  })()
